/******************************************
 *  此处主要用来配合 elemenent-ui 的 form表单的一些自定义 类型校验
 *  如  校验手机号码、邮箱、年龄、身份证等...
 *
 ******************************************/

import { checkStr } from '@/utils/type/index.js';

/**
 * 校验 手机号码,
 * 注意：  不进行非空校验，若果需要请自己添加校验
 */
export const validatePhone = (rule, value, callback) => {
  if (value === '' || value === null || value === undefined) {
    callback();
  } else if (!checkStr(value, 'phone')) {
    callback(new Error('请输入正确的手机号码!'));
  } else {
    callback();
  }
};

export const validateName = (rule, value, callback) => {
  value = value.trim();
  debugger;
  var txt = new RegExp(
    "[ ,\\`,\\~,\\!,\\@,#,\\$,\\%,\\^,\\+,\\*,\\&,\\\\,\\/,\\?,\\|,\\:,\\.,\\<,\\>,\\{,},\\'',\\;,\\=,\"\\？\\。\\，\\‘\\；\\】\\【\\、\\*\\/\\+]"
  );
  if (value === '' || value === null || value === undefined) {
    callback(new Error('请输入客户的名称!'));
  } else if (txt.test(value)) {
    callback(new Error('不能输入特殊字符和空格!'));
  } else {
    callback();
  }
};

export const validateAge = (rule, value, callback) => {
  if (value === '' || value === null || value === undefined) {
    callback();
  } else if (!checkStr(value, 'positiveNumber')) {
    callback(new Error('请输入正确的年龄!'));
  } else {
    callback();
  }
};
export const validateEmail = (rule, value, callback) => {
  if (value === '' || value === null || value === undefined) {
    callback();
  } else if (!checkStr(value, 'email')) {
    callback(new Error('请输入正确的邮箱地址!'));
  } else {
    callback();
  }
};
export const validateIdCard = (rule, value, callback) => {
  if (value === '' || value === null || value === undefined) {
    callback();
  } else if (!checkStr(value, 'card')) {
    callback(new Error('请输入正确的身份证号码!'));
  } else {
    callback();
  }
};
export const validatePostal = (rule, value, callback) => {
  if (value === '' || value === null || value === undefined) {
    callback();
  } else if (!checkStr(value, 'postal')) {
    callback(new Error('请输入正确的邮政编码!'));
  } else {
    callback();
  }
};
